Write-only memory (WOM) is the antithesis of read-only memory (ROM). By definition, a WOM is a memory device which can be written but never read. Since there is no practical use for a memory circuit from which data cannot be retrieved, the concept is most often used as a joke or a euphemism for a failed memory device.
Signetics unintentionally published write-only memory literature as the result of an inside practical joke which is frequently referenced within the electronics industry,[1][2] a staple of software engineering lexicons,[3] and included in collections of the best hoaxes.[4]
Contents |
Out of frustration with the long and seemingly useless chain of approvals required of component specifications during which no actual checking seemed to occur, an engineer at Signetics once created a specification for a write-only memory and included it with a bunch of other specifications to be approved. This inclusion came to the attention of Signetics management only when regular customers started calling and asking for pricing information. Signetics published a corrected edition of the data book and requested the return of the 'erroneous' literature.
Later, in 1972, Signetics bought a double-page spread in the April issue of Electronics and used the specification as an April Fool's Day joke. Instead of the more conventional characteristic curves, the 25120 "fully encoded, 9046 x N, Random Access, write-only-memory" data sheet included meaningless diagrams of "bit capacity vs. Temp.", "Iff vs. Vff", "Number of pins remaining vs. number of socket insertions", and "AQL[5][6] vs. selling price". The 25120 required a 6.3 VAC Vff (vacuum tube filament) supply, a +10 Vcc (double the Vcc of standard TTL logic of the day), and Vdd of zero volts (i.e. ground), ±2%.[7][8]
In computers, there are many practical uses for a destination to write data which does not retain it. A common term among engineers is bit bucket, and many computer operating systems provide a pseudo-device which accepts input but does nothing with it; that is, it ignores or discards the data. This is a useful destination for directing unwanted output, such as expected or uninteresting error messages. Unix and Linux provide /dev/null, CP/M and Microsoft's MSDOS and Windows provide NUL:, and OpenVMS provide NL: and other variants. Most operating systems permit opening the null device for input, though attempts to read from it always receive an end-of-file indication.
Occasionally, a digital engineer will design a circuit with registers which can be written to but not read, or which respond to a read with information which was not last written. Such designs are a source of difficulty for device driver authors.[9]